﻿using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;

namespace Yammu.Core.VirtualFileSystem
{
    /// <summary>
    /// Enumerates various provider types
    /// </summary>
    public enum MVPProviderType
    {
        Local,
        DropBox,
        FTP,
        WebDav,
        BoxNET,
        HTTP,
        JSON,
        YAMMU /*For future. YAMMU should be able to act as a provider for file sharing*/
    };

    public interface IMVPProviderType
    {
        MVPProviderType Type { get; }
    }

    /// <summary>
    /// Attribute to specify the kind of virtual path provider. Must be placed on types which implement IMVPProvider
    /// </summary>
    [MetadataAttribute]
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
    public class MVFSProviderExportAttribute : Attribute, IMVPProviderType
    {
        public MVFSProviderExportAttribute(MVPProviderType type)
        {
            Type = type;
        }
        public MVPProviderType Type
        {
            get;
            private set;
        }
    }
}
